Creating a Table Instance
The first step is to create a table instance that will be used by the component to render the actual table structure. This same table instance can be used add, remove, and modify rows and columns. See the table class documentation for more details.
import Table from 'ember-light-table';
const table = new Table(columns, rows, options);
Here is a more real-word example
// components/my-table.js
import { computed } from '@ember/object';
import Table from 'ember-light-table';
export default Ember.Component.extend({
  model: null,
  columns: computed(function() {
    return [{
      label: 'Avatar',
      valuePath: 'avatar',
      width: '60px',
      sortable: false,
      cellComponent: 'user-avatar'
    }, {
      label: 'First Name',
      valuePath: 'firstName',
      width: '150px'
    }, {
      label: 'Last Name',
      valuePath: 'lastName',
      width: '150px'
    }];
  }),
  table: computed('model', function() {
   return new Table(this.get('columns'), this.get('model'));
  })
});
Implicit Row Creation
To enable synchronization between the table's rows and a model, the enableSync flag
must be set to true.
import Table from 'ember-light-table';
const table = new Table(columns, model, { enableSync: true });
The enableSync options creates a two way sync. This means that any manipulation
that occurs on the model will also take place on the table's rows collection and vice versa.
To default enableSync to always be true, you can add the following in your config/environment.js
module.exports = function(environment) {
  var ENV = {
   // ...
    'ember-light-table': {
      enableSync: true
    }
  };
  // ...
  return ENV;
};